As a technique to expand the capacity of a NAND flash memory, there is a multi-level recording (MLC: Multi-Level Cell) method. In this disclosure, a flash memory of the MLC method is referred to as an MLC flash memory, and a flash memory of a binary recording (SLC: Single-Level Cell) method is referred to as an SLC flash memory. In the SLC method (hereinafter referred to as SLC mode), one bit is recorded in one cell which is a unit of recording. On the other hand, in the MLC method (hereinafter referred to as MLC mode), N bits (N>1) can be recorded in one cell. Therefore, for example, in an MLC flash memory of two-bit recording, one cell can represent four values, and in an MLC flash memory of three-bit recording, one cell can represent eight values.
Such flash memories that can store relatively large amount of information in a certain storage area can have the recording capacity per volume larger than that of a flash memory that can store relatively small amount of information in the same storage area, and have a merit that the cost per storage capacity can be reduced. In contrast, a flash memory that can store relatively small amount of information in a certain storage area has a merit that the access time for reading and writing is short and the memory has high reliability compared with a flash memory that can store relatively large amount of information in the same storage area.